﻿<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../helpproject.xsl" ?>
<topic template="Default" lasteditedby="Geert" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../helpproject.xsd">
  <title translate="true">Why Catel?</title>
  <keywords>
    <keyword translate="true">Introduction</keyword>
    <keyword translate="true">Why</keyword>
  </keywords>
  <body>
    <header>
      <para styleclass="Heading1"><text styleclass="Heading1" translate="true">Why Catel?</text></para>
    </header>
    <para styleclass="Normal"><text styleclass="Normal" style="font-weight:bold;" translate="true">Freedom - it&apos;s your choice</text></para>
    <para styleclass="Normal"><text styleclass="Normal" translate="true">We care a lot about the freedom you need as a software developer. Most frameworks require a developer to learn its conventions, or use the whole framework or nothing at all. When we, the developers of Catel, use an external framework, we choose that framework for a specific reason, and don’t want to be bothered by all the other superb stuff it has to offer (maybe later, but not now).</text></para>
    <para styleclass="Normal"><text styleclass="Normal" translate="true">During the development of Catel, we tried to maintain this freedom aspect which is very important to us. Therefore, all functionality is loosely coupled. Sounds great, but everything is called loosely coupled nowadays. Catel contains a lot of different aspects, such as logging, diagnostics, Reflection, MVVM, user controls, windows, etc. All these aspects are complementary to each other, but the great thing about Catel is that you decide whether to use just one, some, or maybe all aspects.</text></para>
    <para styleclass="Normal"><text styleclass="Normal" translate="true">As an example: you have a legacy application and want to use the DataWindow to write simple entry windows, but you are not ready for MVVM yet. No problem, the DataWindow is complementary to MVVM, but does not require it. Therefore, you have all the freedom to use just what you need, whenever you need it.</text></para>
    <para styleclass="Normal"><text styleclass="Normal" translate="true">Most frameworks require a bootstrapper that completely decides how your application structure should look like. For example, your Views must have this name, your controls must have that name. Again, in Catel, we wanted to give you the freedom you would expect from a framework.</text></para>
    <para styleclass="Normal"><text styleclass="Normal" translate="true">The great thing about this freedom is that the different aspects of Catel can be used side-by-side with other frameworks, so you as a developer can use the best framework for every aspect in your application.</text></para>
    <para styleclass="Normal"><text styleclass="Normal" translate="true">Another nice thing is that Catel is WPF-based. Now you might be thinking: but hey, I use Silverlight! However, the upside of this approach is that all goodies that are well known in WPF, but not in Silverlight are also brought to Silverlight. For example, in Silverlight there is no automatic command re-evaluation. Catel does this out of the box, even in Silverlight.</text></para>
    <para styleclass="Normal"><text styleclass="Normal" translate="true">Catel offers a solution in the following fields:</text></para>
    <list id="1" type="ul" listtype="bullet" formatstring="&#183;" format-charset="SYMBOL_CHARSET" levelreset="true" legalstyle="false" startfrom="1" styleclass="Normal (list)" style="font-family:Symbol; font-size:10pt; color:#000000;">
      <li styleclass="Normal (list)"><link displaytype="text" defaultstyle="true" type="topiclink" href="Data_handling" styleclass="Normal (list)" translate="true">Data handling</link></li>
      <li styleclass="Normal (list)"><link displaytype="text" defaultstyle="true" type="topiclink" href="Catel.MVVM" styleclass="Normal (list)" translate="true">MVVM</link></li>
      <li styleclass="Normal (list)"><text styleclass="Normal (list)" translate="true">And much more which you will find out during the use of Catel!</text></li>
    </list>
  </body>
</topic>
